﻿Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim Descripcion(8) As String
    Dim Precio(8) As Double
    Dim array_CAT(100) As Integer


    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Descripcion(0) = "SANSUNG 450Nb"
        Descripcion(1) = "PILOT WHEE 3 botones, PS/2" & "boton para internet"
        Descripcion(2) = "BTC-AT 121 teclas en español, conector DIN"
        Descripcion(3) = "HP DESIGNJET 450c 600 dpi"
        Descripcion(4) = "IMAGE MOUSE PLUS Scaner para rollos"
        Descripcion(5) = "FLYGTH SIMULATOR 4 botones compatible con win 95/898"
        Descripcion(6) = "FIREBALL CX 13,0 Gb ATA"
        Descripcion(7) = "Zip Drive Iomega 100MB Externo"
        Descripcion(8) = "DLT8000 Drive int ., 40/80 GB,kit, SCSI"

        Precio(0) = 127.9
        Precio(1) = 3.5
        Precio(2) = 12.0
        Precio(3) = 87.0
        Precio(4) = 128.0
        Precio(5) = 29.0
        Precio(6) = 110.5
        Precio(7) = 63.0
        Precio(8) = 65.0

        'CboProducto.Text = CboProducto.Items.Item(0)

    End Sub
    Public Sub solo_Numero()

    End Sub

    Private Sub CboProducto_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CboProducto.SelectedIndexChanged
        txtDescripcion.Text = Descripcion(CboProducto.SelectedItem)
        txtPrecio.Text = Format(Precio(CboProducto.SelectedIndex), "0.00")
        txtCantidad.Focus()
    End Sub

    Private Sub txtCantidad_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtCantidad.KeyPress
        e.Handled = solo_Numero(e.KeyChar.IsNumber(e.KeyChar), e.KeyChar, txtCantidad)

    End Sub

    Private Sub txtCantidad_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtCantidad.TextChanged
        If txtCantidad.Text <> "" Then
            btnAgregar.Enabled = True
        Else
            btnAgregar.Enabled = False
        End If
    End Sub

    Private Sub txtCantidad_Validated(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtCantidad.Validated
        If txtCantidad.Text = "" Then txtCantidad.Focus()

    End Sub

    Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregar.Click
        Dim TotaL As Double
        Dim IndicE, recupera_INDICE As Integer
        Dim producto_EXISTE As Boolean
        btnAgregar.Enabled = False
        If lstProducto.Items.Count = 0 Then
            lstProducto.Items.Add(CboProducto.Text)
            lstPrecio.Items.Add(txtCantidad.Text)
            lstSub.Items.Add((CStr(Val(txtCantidad.Text) * Val(txtPrecio.Text))))
        End If
        For IndicE = 0 To lstProducto.Items.Count - 1
            If lstProducto.Items.Item(IndicE) = CboProducto.Text Then
                producto_EXISTE = True
                recupera_INDICE = IndicE
                'Redimensionar
                ReDim Preserve array_CAT(lstCantidad.Items.Count - 1)
                Dim valor As Integer
                'Guardar la cantidad del arreglo
                For valor = 0 To lstCantidad.Items.Count - 1
                    array_CAT(valor) = lstCantidad.Items.Item(valor)
                Next
                Exit For
            End If
        Next IndicE
        ' Verificar si el producto existe
        If producto_EXISTE Then
            'Recuperamos cantidades del arreglo
            For IndicE = 0 To lstCantidad.Items.Count - 1
                If IndicE = recupera_INDICE Then
                    array_CAT(IndicE) = Val(txtCantidad.Text)
                Else
                    array_CAT(IndicE) = lstCantidad.Items.Item(IndicE)
                End If
            Next IndicE
            lstCantidad.Items.Clear()
            Dim A As Integer
            ''Reasignar los elementos a la lista
            For A = 0 To IndicE - 1
                lstCantidad.Items.Add(array_CAT(A))
                lstSub.Items.Add(CStr(array_CAT(A) * Val(lstPrecio.Items.Item)))
            Next A
        End If
    End Sub
End Class
